from typing import Optional, List

from pydantic import BaseModel


class ChatMessage(BaseModel):
    role: Optional[str] = "human"
    content: Optional[str] = ""


class CompletionRequest(BaseModel):
    requestId: str = ""
    model_name: str = "gpt-3.5-turbo-16k"
    prompt: str
    chat_history: List[ChatMessage] = []
    stream: Optional[bool] = True
    temperature: float = 0.5
    max_tokens: int = 256
